Use of computer networks for information access is increasing very rapidly and is spreading from use which is generally limited to technical experts to use by intermediate and novice computer users as well. For example, Internet is a vast, global computer network which is growing in popularity at an amazing rate; the number of users of Internet is growing at approximately 4% per month. Many of the new users of the Internet computer network are relatively new users of computers generally.
Internet is a loosely organized network in which a number of different network access protocols have emerged over a period of years. For example, protocols for electronic mail ("email"), electronic group discussions (e.g., "Usenet news groups"), file transfers (e.g., "FTP"), file searching (e.g., "Archie" and "Gopher"), and complex, distributed data bases (e.g., WAIS and the World Wide Web) have been independently developed and have become very popular with users of Internet.
A user typically accesses information through a computer network such as Internet using a "client" of one of the network access protocols supported by at least a portion of the computer network. A client is a computer process which accesses information through a computer network, typically through a server computer process operating within the computer network, according to a specific network protocol. For example, a Usenet client is a computer process which accesses through a computer network electronic group discussion information according to the NNTP protocol. For each protocol used in Internet, for example, several different clients are available to users, either without cost through Internet itself as publicly available software or through commercial providers at a cost.
Each client typically accesses information through only a single protocol. For example, a World Wide Web ("WWW") client is typically used to view multimedia hypertext documents while a separate e-mail client is typically used to read email addressed to a particular user. As a result, a user who accesses information through Internet according to multiple protocols typically does so through multiple respective clients. Thus, a user who wishes to send e-mail to a colleague after having read something of interest in multimedia hypertext document using a WWW client generally uses a separate e-mail client to send the e-mail. Switching between clients to assimilate information between network protocols is, at best, an inconvenience and, perhaps more seriously, confusing and unmanageable for novice users. Switching between various clients for various respective network access protocols makes assimilation of information retrieved according such protocols difficult.
Furthermore, each client typically uses a user-interface which differs from those used by other clients and is particularly adapted to the network access protocol by which the client accesses information. As a result, a user which uses several different clients must master as many different user interfaces. A computer process which uses a user interface that is foreign to the user is often unusable for a novice user.
In addition to the difficulties associated with separate clients for the various network access protocols used in computer networks such as Internet, users often have difficulty navigating large, complex databases such as the World Wide Web ("WWW"). WWW is a database which implements the hypertext transfer protocol ("HTTP") which in turn supports transfer and access of multimedia hypertext documents. Multimedia documents are documents which can contain information from multiple media. e.g., numerical and textual data, graphical images, sounds in digital form, and motion video images. A hypertext document can contain pointers to, i.e. can reference, other documents which are embedded in the substantive information the hypertext document and which are associated with a portion of this substantive information, frequently a text portion. A pointer to an item of information is sometimes called a "link" herein. Identification by the user of substantive information associated with such an embedded link causes retrieval of the document referenced by the link.
Such hypertext documents, which generally conform to a hypertext markup language (HTML--"HTML documents") and which are accessible according to a particular network access protocol such as HTTP, can contain links to any other items, including HTML documents, which are accessible according to the particular network access protocol. In addition, such HTML documents frequently contain links to themselves and multiple, redundant links to another item. HTML documents can also contain links to non-HTML items, i.e., items which are accessed according to other, non-HTTP protocols, e.g., FTP.
As a result of the generality of the links of a HTML document, navigation of HTML documents can be somewhat confusing. As described above, an HTML document can contain links to itself and multiple redundant links to other items. In addition, several HTML documents can form a loop in which a user navigates in circles. For example, a first HTML document about pies can have a link whose text is "apple" and which points to a second HTML document about apples. The second HTML document can have a link whose text is "pies" and which points to the first HTML document. A user searching for information on apple pies could navigate in circles by selecting the "apple" link in the first HTML document, the "pies" link in the second HTML document, the "apple" link in the first HTML document, and so on. The user doesn't determine that the navigation path is circular until the user recognizes a previously retrieved HTML document. This illustrative example of a loop is simple and involves only two HTML documents. Other loops can be quite large and involve many documents. Furthermore, when a user retrieves an HTML document for the second time, the HTML document is retrieved through the computer network a second time, wasting time and network resources.
Furthermore, to select a link contained within an HTML document, the user must display the substantive information of the HTML document on a display device of a computer. Many HTML documents are far too large to be conveniently and completely displayed within many commonly used computer display devices. As a result, such large HTML documents are displayed in scrollable windows in which only a portion of the HTML document is displayed on the display device at a time. If a link which a user desires to follow is embedded in a portion of the HTML document which is currently not displayed in the scrollable window, the user must "scroll" through the HTML document using conventional techniques until the portion in which the desired link is embedded is displayed. Frequently a user desires information which is only accessible from a document whose location within a computer network is known by traversing a path of multiple links, requiring for each link followed retrieval of a document and reading and scrolling through the document to find the next link in the path. Retrieval of, reading of, and scrolling through multiple documents to find desired information is tedious, slow, and at times quite annoying to the user.